Database > RDS for MS-SQL > 백업 및 복원

백업

DB 인스턴스의 데이터베이스를 복구할 수 있도록 미리 준비할 수 있습니다. RDS for MS-SQL는 개별 데이터베이스별로 순차적으로 백업을 수행합니다. 원하는 시점에 수동으로 백업을 생성하거나 백업 보관 기간을 설정하여 자동으로 백업을 생성할 수 있습니다. 수동으로 생성한 백업을 이용하여 특정 시각으로 복원을 하거나, 백업 보관 기간 중 어느 한 시점으로 복원을 할 수 있습니다.

[주의] 백업이 실행되는 동안에는 백업으로 인한 성능 저하가 발생 할 수 있습니다. 서비스에 영향을 주지 않기 위해서, 서비스의 부하가 적은 시간에 백업을 하는 것이 유리합니다.

백업 스토리지

RDS for MS-SQL은 모든 백업 파일을 별도의 오브젝트 스토리지에 저장합니다. 자동 백업 파일은 DB 인스턴스 삭제 시 모두 삭제되며, 수동 백업 파일은 사용자가 명시적으로 삭제하지 않는 한 오브젝트 스토리지에 영구 저장됩니다.

자동 백업

DB 인스턴스의 백업 보관 기간을 1일 이상으로 설정하면 자동 백업이 활성화되며, 지정된 백업 수행 시간에 자동 백업이 이루어집니다. 백업 수행 시간을 지정하지 않으면, 매일 임의의 부하가 몰리지 않는 시점에 자동 백업을 수행합니다. 백업 수행 시간을 지정하면, 지정된 시각으로부터 15분 사이에 자동 백업을 수행합니다. 자동 백업은 최대 30일까지 보관할 수 있습니다. 백업 보관 기간을 없음으로 설정하면 자동 백업이 비활성화되며, 저장된 모든 자동 백업 파일이 백업 스토리지에서 삭제됩니다. 자동 백업이 비활성화되면 백업 보관 기간 중 어느 한 시점으로 복원은 불가능하며, 수동 백업을 이용한 특정 시각으로 복원만 가능합니다.

[주의] 자동 백업을 활성화하였다면, 반드시 데이터베이스의 복구 모델은 전체(Full)를 사용해야 합니다. 단순(Simple)대량 로그(Bulk logged) 모델을 사용하면, 강제로 전체(Full) 복구 모델로 변경함과 동시에 전체 백업이 다시 수행됩니다.

로그 백업

DB 인스턴스의 백업 보관 기간을 1일 이상으로 설정하면 로그 백업이 활성화되며, 약 5~10분마다 로그 백업이 수행됩니다. 로그 백업에 실패하여 로그가 유실된 경우, 유실 시점부터 새 자동 백업이 생성되는 시점까지 시점 복원이 불가능합니다. 로그 백업이 실패하면 DB 인스턴스 목록 화면에 자동 백업 버튼이 활성화되며, 해당 버튼을 클릭하여 자동 백업을 진행할 수 있습니다. 지정된 백업 수행 시간 또는 자동 백업 버튼을 클릭하여 자동 백업이 완료된 이후 시점부터 복원이 가능합니다.

수동 백업

자동 백업 활성화와 관련 없이 원하는 시각에 수동으로 백업을 수행할 수 있습니다. 수동 백업 생성 시 이름을 입력해야 하며, 명명 규칙은 다음과 같습니다.

  • 백업 이름은 리전별로 고유해야 합니다.
  • 백업 이름은 4 ~ 100 사이의 알파벳, 숫자, - _ . 만 사용 가능합니다.
  • 백업 이름의 첫 번째 문자는 글자이어야 합니다.

복원

RDS for MS-SQL는 백업 파일을 이용하여 백업된 순간으로 복원을 하거나, 복원을 원하는 어느 한 시점을 선택하여 복원을 할수 있습니다. 복원을 하게 되면 기존 DB 인스턴스와 무관한, 신규 DB 인스턴스가 생성됩니다. 복원된 DB 인스턴스는 데이터베이스만 복원되므로, 파라미터 그룹과 보안 그룹을 새롭게 설정해야 합니다. 새로운 파라미터 그룹을 설정할수는 있으나, 백업할 당시의 파라미터 그룹을 사용하여 복원하는 것을 추천합니다.

백업을 이용한 복원

수동 혹은 자동 백업을 이용하여 DB 인스턴스를 복원할 수 있습니다. 복원에 걸리는 시간은 백업의 크기에 따라 다르며, 수분에서 수십 분이 소요됩니다. 복원할 DB 인스턴스의 타입과 파라미터 그룹은 백업할 당시의 DB 인스턴스와 동일하게 설정하는 것을 권장합니다.

[주의] DB 인스턴스에 여러 개의 데이터베이스가 존재하고, 데이터베이스 각각의 크기가 크다면, 백업이 이루어진 시각의 차이가 발생할 수 있습니다. 개별 데이터베이스 별로 순차적으로 백업이 이루어지므로, 백업을 수행한 시각으로 모든 데이터베이스가 복원되는 것을 보장하지 않습니다.

백업 보관 기간 중 어느 한 시점으로 복원

DB 인스턴스의 자동 백업이 활성화되어 있다면, 보관 기관 중 어느 한 시점으로 복원이 가능합니다. 시점 복원을 하기 위해서는 별도의 로그 백업이 필요합니다. RDS for MS-SQL는 매 5분마다 자동으로 로그 백업을 수행한 후, 백업 스토리지에 저장합니다. 자동 백업을 활성화 한 시각부터, 가장 최근 로그 백업을 저장한 시점까지 복원이 가능합니다. 자동 백업이 활성화되어 있다면, 매 5분 주기로 사용자가 생성한 데이터베이스를 감지하여 전체 백업을 별도로 수행합니다. 따라서 데이터베이스 생성 직후 시점으로 복원 시, 신규로 생성한 데이터베이스는 제대로 복원되지 않습니다. 별도의 작업을 하지 않은 안정적인 DB 인스턴스를 기준으로, 생성 시점으로부터 최소 5분 이후의 시점을 선택해야 합니다.

오브젝트 스토리지를 이용한 백업 내보내기 및 가져오기

DB 인스턴스의 백업을 사용자 오브젝트 스토리지로 백업하거나, 사용자 오브젝트 스토리지에 있는 백업 파일을 DB 인스턴스로 복원할 수 있습니다.

[주의] 동일 리전의 오브젝트 스토리지에 백업을 내보내거나, 가져올 수 있습니다.

오브젝트 스토리지에 차등 백업

이미 백업이 완료된 백업 파일을 내보내거나, 차등 백업과 동시에 백업 파일을 내보낼 수 있습니다. 백업 파일은 개별 데이터베이스별로 내보내지만, 오브젝트 스토리지의 REST API를 사용할 수 있도록 설정된 모든 NHN Cloud의 오브젝트 스토리지로 내보낼 수 있습니다.

백업을 오브젝트 스토리지로 내보내려면 우선 백업 파일이 저장될 컨테이너를 만들어야 합니다. 컨테이너 생성 이후에는 웹 콘솔의 오브젝트 스토리지에 백업 기능을 이용하여 내보낼 수 있습니다. 백업 파일의 크기가 1GB를 초과하면 멀티 파트 형태로 업로드됩니다.

오브젝트 스토리지에 있는 백업으로 복원

호환 가능한 Microsoft SQL Server의 백업 파일만, 오브젝트 스토리지를 이용하여 RDS for MS-SQL의 DB 인스턴스에 복원할 수 있습니다. REST API를 사용할 수 있도록 설정된 NHN Cloud의 오브젝트 스토리지에 외부에서 백업한 파일을 올린 후, 웹 콘솔의 오브젝트 스토리지에 있는 백업으로 복원 기능을 이용하여 복원할 수 있습니다.

복원할 백업 파일이 5GB를 초과하면 멀티 파트 형태로 올려야 합니다. 자세한 사용법은 멀티 파트 업로드를 참고해주세요. 복원은 데이터베이스별로 이루어지며, 이미 생성된 DB 인스턴스에 복원할 수 있습니다. DB 인스턴스의 스토리지에 충분한 공간이 없으면 복원에 실패할 수 있습니다.

차등 백업 복원 여부를 로 선택하고 차등 백업 경로를 추가하면 전체 백업을 기반으로 생성된 차등 백업도 복원할 수 있습니다.

[주의] master 데이터베이스를 복원하지 않기 때문에 복원된 데이터베이스의 사용자 접속 정보는 DB 인스턴스 생성 시 입력한 사용자만 접속할 수 있도록 수정됩니다.

고가용성 DB 인스턴스에 복원하는 경우, 데이터베이스의 복원이 완료됨과 동시에 고가용성 구성을 시작하게 됩니다.

TOP